﻿var objSelecionado = null;
var top1 = null;
var left1 = null;

var mouseOffset = null;
function addEvent(obj, evType, fn) { 
if (typeof obj == "string") {
  if (null == (obj = document.getElementById(obj))) {
   throw new Error("Elemento HTML não encontrado. Não foi possível adicionar o evento.");
  }
}
if (obj.attachEvent) {
  return obj.attachEvent(("on" + evType), fn);
} else if (obj.addEventListener) {
  return obj.addEventListener(evType, fn, true);
} else {
  throw new Error("Seu browser não suporta adição de eventos.");
}

}
document.onmousemove = function(ev) {
var ev = ev || window.event;
var mousePos = mouseCoords(ev);
if (objSelecionado) {
try{
  document.getElementById(objSelecionado).style.left = mousePos.x - mouseOffset.x + 'px';
  document.getElementById(objSelecionado).style.top = mousePos.y - mouseOffset.y + 'px';
  document.getElementById(objSelecionado).style.margin = '0px';
  
GerarCookie('left'  + objSelecionado,  document.getElementById(objSelecionado).style.left, 0)
GerarCookie('top'  + objSelecionado,  document.getElementById(objSelecionado).style.top, 0)

  document.getElementById(objSelecionado).title= 'top: ' + document.getElementById(objSelecionado).style.top + ' left: ' +  document.getElementById(objSelecionado).style.left
  }
  catch(e)
  {}
  return false;
}
}
function mouseCoords(ev){
if(ev.pageX || ev.pageY){
  return {x:ev.pageX, y:ev.pageY};
}
return {
  x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
  y:ev.clientY + document.body.scrollTop  - document.body.clientTop
};
}
function getPosition(e, ev){
e = document.getElementById(e);

var left = 0;
var top  = 0;
var coords = mouseCoords(ev);
while (e.offsetParent){
  left += e.offsetLeft;
  top  += e.offsetTop;
  e     = e.offsetParent;
}
left += e.offsetLeft;
top  += e.offsetTop;


return {x: coords.x - left, y: coords.y - top};
}

document.onmouseup = function() {
//grava a posição atual no cookie
objSelecionado = null;
}
function dragdrop(local_click, caixa_movida, top, left) {
    try
        {
        if(document.getElementById(caixa_movida))
        {
            document.getElementById(local_click).style.cursor = 'move';
            addEvent(local_click, 'mousedown', function(ev) {
            objSelecionado = caixa_movida;
            
            if (LerCookie('left' + objSelecionado) != null)
            {
                if (parseInt(LerCookie('left' + objSelecionado)) > 0 )
                {
                
                    document.getElementById(objSelecionado).style.left =LerCookie('left' + objSelecionado)
                    document.getElementById(objSelecionado).style.top =LerCookie('top' + objSelecionado)
                }
            }
            mouseOffset = getPosition(objSelecionado, ev);
            }
           );
          }
        }
        catch(e)
        {alert(e.message)}
}




function togglehide(obj)
{
alert() 
    if (obj.style.height!=50)   
    {
    obj.style.height=50;
    }
}

function GerarCookie(strCookie, strValor, lngDias)
{
    var dtmData = new Date();

    if(lngDias)
    {
        dtmData.setTime(dtmData.getTime() + (lngDias * 24 * 60 * 60 * 1000));
        var strExpires = "; expires=" + dtmData.toGMTString();
    }
    else
    {
        var strExpires = "";
    }
    document.cookie = strCookie + "=" + strValor + strExpires + "; path=/";
}

// Função para ler o cookie.
function LerCookie(strCookie)
{
    var strNomeIgual = strCookie + "=";
    var arrCookies = document.cookie.split(';');

    for(var i = 0; i < arrCookies.length; i++)
    {
        var strValorCookie = arrCookies[i];
        while(strValorCookie.charAt(0) == ' ')
        {
            strValorCookie = strValorCookie.substring(1, strValorCookie.length);
        }
        if(strValorCookie.indexOf(strNomeIgual) == 0)
        {
            return strValorCookie.substring(strNomeIgual.length, strValorCookie.length);
        }
    }
    return null;
}

// Função para excluir o cookie desejado.
function ExcluirCookie(strCookie)
{
    GerarCookie(strCookie, '', -1);
}



function setposition()
{
    var s = document.getElementsByTagName('div')
    for(i=0; i<=s.length-1; i++)
    {
    if(LerCookie('top' + s[i].id) != null)
        {
                //alert(LerCookie('top' + s[i].id))
                s[i].style.top = LerCookie('top' + s[i].id)
                s[i].style.left = LerCookie('left' + s[i].id)
        }

    }
}

